Overview
All Blueprint infrastructure code exists within Blueprint libraries. A Blueprint library project consists of Blueprint circuitry files and the source files generated from the circuitry, which can include:
- Circuit Definitions;
- Containers;
- Accretions.
Before you can start creating Blueprint circuits, you must first create a Blueprint Library project to contain them.
Creating a Blueprint Library Project
To create a new Blueprint Project you must perform the following steps:
- Select File | New->Project from the main menu. This displays the New Project wizard:
- Select your target language from the Project types list on the left. If your target language is currently supported then Blueprint Library appears in the list of Visual Studio installed templates.
- Select Blueprint Library and enter a name for your project.
- Enter a project path and a solution name (defaults to name).
- Tick Add to Source Control if using source control.
- Select OK.
- Click Finish on the Blueprint Library Wizard.
- This will now create the basic Blueprint project structure, with default headers etc. It will also create a basic (empty) circuit with its associated Container and Accretion.
The Wizard also defines several Build Configurations:
Debug |
General debug build "<Name>_d.lib", not linked with any CLIP libraries. Used for mixed Process/Colonies. |
Release |
General release build "<Name>.lib", not linked with any CLIP libraries. Used for mixed Process/Colonies |
Autonomous Debug |
Autonomous debug build "<Name>_ad.lib", pre-linked with the Auto_CLiP libraries |
Autonomous Release |
Autonomous release build "<Name>_a.lib", pre-linked with the Auto_CLiP libraries |
Master Debug |
Master debug build "<Name>_md.lib", pre-linked with the Master_CLiP libraries |
Master Release |
Master debug build "<Name>_m.lib", pre-linked with the Master_CLiP libraries |
Slave Debug |
Slave debug build "<Name>_sd.lib", pre-linked with the Slave_CLiP libraries |
Slave Release |
Slave release build "<Name>_s.lib", pre-linked with the Slave_CLiP libraries |
Sub-Master Debug |
Sub-master debug build "<Name>_smd.lib", pre-linked with the SubMaster_CLiP libraries |
Sub-Master Release |
Sub-Master release build "<Name>_sm.lib", pre-linked with the SubMaster_CLiP libraries |
When creating a Process accretion the attributes can be set to generate code for each or all of the Autonomous, Slave, Master (or SubMaster) options, thus all of the libraries will be generic. The build options simply pre-link with the appropriate CLIP libraries so that you do not need to manually link them into your main application.
It should also be noted that each library has a name extension. It is recommended that this be adopted for the final executables as well since it is usual to create several versions: Auto, Master, Slave, Sub-Master in both debug and release, and confusion is likely to ensue if a convention is not adopted. (There will never be a generic executable so "<Name>_a.exe" and "<Name> _ad.exe" may be shortened to "<Name>.exe" and"<Name>_d.exe").
The next stage in creating a Blueprint application is Entering Circuitry or the Creating the Main application.
Notes
- If adding a Blueprint library to an existing Solution, simply click on the 'Solution' and select 'Add->New Project...' from the pop-up menu and follow the above steps.
- The general debug/release libraries are not pre-linked with any CLIP library, and thus the main application must link with the appropriate libraries.